The techniques most widely employed today for detecting and/or correcting transmission errors in digital communications systems are error correcting codes, rerunning of errors on retransmission and cyclic redundancy checks, known respectively by the acronyms FEC (for Forward Error Correction), ARQ (for Automatic Repeat Request) and CRC (for Cyclic Redundancy Check).
The FEC technique entails the sender adding redundancy to the useful data so as to allow the destination receiver to detect and to correct some of the inevitable transmission errors. This technique constitutes the only means for correcting errors in systems with no return pathway. In systems with a return pathway, this technique furthermore decreases the number of retransmissions required to ensure a given quality of service.
Represented in FIG. 1 is the diagram of a communication system implementing a method for correcting transmission errors according to the prior art. The communication system includes a transmission chain comprising a sending source S, a communication channel C and a receiver R. The sending source S is furnished with an FEC coder 10 for coding the incoming data stream FD followed by a modulator 20. The output stream from the modulator 20 is transmitted by the communication channel C. The receiver R receives the incoming stream FE transmitted by the communication channel C. This receiver R comprises a demodulator 40 followed by an FEC decoder 60. The labels 50 and 70 correspond to points where the bit error rate BER could be measured.
The CRC technique makes it possible to detect certain errors by adding redundancy, but does not make it possible to correct them. The redundancy is obtained by calculating a hash function on a logical subset of the data to be sent, for example a packet, and dispatched with the latter. On reception this value is compared with the calculation of the same hash function on the data received, so as to verify the integrity of the message. The CRCs most widely used are constructed so as to detect the vast majority of the errors that are not corrected by the FEC, or are due to defective re-assembling of data fragmented when sending.
The FEC schemes of the prior art such as LDPC (Low Density Parity Check) codes, Reed-Solomon codes and Turbo codes are used in the most recent European satellite standards (for example DVB-S2 and DVB-SH) with the aim of detecting and correcting errors on the transmission channel.
CRC codes are conventionally used for data integrity verification in the intermediate layers of the protocol stacks, making it possible to detect errors and then, optionally, to discard defective re-assembled packets.
The techniques which have just been described are based on the addition of control or redundancy data to the useful stream. Despite the gain in terms of error control represented by these techniques, the addition of control or redundancy data penalizes transmission performance in terms of quantity of useful information actually transmitted, and consequently in terms of transmission cost.